/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cargarDatos;

/**
 *
 * @author kelebra
 */
import java.sql.*;
import java.io.*;

public class ConexionBD {
    String url, usuario, password;
    public Connection conexion;
    Statement st;
    ResultSet tabla;
        
        
        public ConexionBD(String url,String usuario,String password){
//            url="jdbc:postgresql://malpelo.univalle.edu.co:5432/erikasv";
//            usuario="erikasv";
//            password="erikasv";
            this.url=url;
            this.usuario=usuario;
            this.password=password;
            conectar();
        }

        public Connection conectar(){
            try {
            // Se carga el driver
            Class.forName("org.postgresql.Driver");
            System.out.println("CONEXIONBD:: cargo el driver");
            //System.out.println( "Driver Cargado" );
            } catch( Exception e ) {
                e.printStackTrace();
                System.out.println( "No se pudo cargar el driver." );
            }

            try{
                     //Crear el objeto de conexion a la base de datos
                    System.out.println( "va a abrir conexion" );
                     conexion = DriverManager.getConnection(url, usuario, password);
                     System.out.println( "Conexion Abierta" );
                     return conexion;
                  //Crear objeto Statement para realizar queries a la base de datos
             } catch( Exception e ) {
                System.out.println( "No se pudo abrir." );
                return null;
             }

        }//end connectar

        public void cerrarConexion(Connection c){
            try{
                 c.close();
            } catch( Exception e ) {
                System.out.println( "No se pudo cerrar." );
            }
        }

    @Override
    protected void finalize() throws Throwable {
        cerrarConexion(this.conexion);
        super.finalize();
    }
        
        
}
